package controlador;

import java.util.Date;
import java.util.Set;
import controlador.Usuario;
import java.util.List;

/**
 *
 * @author JAVA
 */
public class Mensaje implements Comparable {

    private int id;
    private String contenido; // Máx 150 caracteres
    private String usuario;
    private Date fechaCreacion; // Fecha del sistema
    private List<Mensaje> subMensajes;
    private String nivel;

    public Mensaje() {
    }

    public Mensaje(int id, String contenido, String usuario, String nivel) {
        this.id = id;
        this.contenido = contenido;
        this.usuario = usuario;
        this.nivel = nivel;

        long lAhora = System.currentTimeMillis();
        Date d = new Date(lAhora);

        this.fechaCreacion = d;
    }

    public String getContenido() {
        return contenido;
    }

    public void setContenido(String contenido) {
        this.contenido = contenido;
    }

    public Date getFechaCreacion() {
        return fechaCreacion;
    }

    public void setFechaCreacion(Date fechaCreacion) {
        this.fechaCreacion = fechaCreacion;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public List<Mensaje> getSubMensajes() {
        return subMensajes;
    }

    public void setSubMensajes(List<Mensaje> subMensajes) {
        this.subMensajes = subMensajes;
    }

    public String getUsuario() {
        return usuario;
    }

    public void setUsuario(String usuario) {
        this.usuario = usuario;
    }

    public String getNivel() {
        return nivel;
    }

    public void setNivel(String nivel) {
        this.nivel = nivel;
    }
    
    

    // Persistencia
    public void cargarSubmensajes() {
    }

    @Override
    public int compareTo(Object o) {
        Mensaje msg = (Mensaje) o;

        if (this.id == msg.getId()) {
            return 0;
        }else if (this.id < msg.getId()) {
            return -1;
        }else{
           // (this.id > msg.getId()) 
            return 1;
        }
    }
}
